package main

import "fmt"

/*
在方法内生命的变量一律是局部变量，不能在别的方法内调用
值得一提的是，局部变量一定要使用（不论是四则运算还是用于参数填入）
某个局部变量被检测到没有被使用时会报错不允许运行
*/

func main() {
	//第一种声明变量的方式，声明是个变量以及类型
	var a int = 10

	//第二种声明变量的方式，声明是个变量但类型根据值自行判断
	var b = 20

	//第三种声明变量的方式，省去了var的声明与类型的声明，但此方式不能用在已经被声明的变量上
	c := 30
	// c := 31//这是错误的，因为c已经被声明过了

	//第三个半种声明变量的方式，利用第三种方式声明多个变量
	d, e, f := 40, 50, 60

	var ( //第四种声明变量的方式直接将多个变量声明，且不用声明类型，类似于第三种
		g = 70
		h = 80
		i = 90
	)

	//需要注意的是，GoLang对已经声明的局部变量是不允许改变其类型
	//i = 23.6//i在上面被赋值90，是个int，无法被改变成小数点类型float
	fmt.Printf("%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t",
		a, b, c, d, e, f, g, h, i)
}
